package sk.stuba.fiit.pki.service;

import java.math.BigInteger;
import java.util.Collection;
import java.util.List;

import sk.stuba.fiit.pki.entity.CertificateEntity;

/**
 * Certificate Service interface.
 * 
 * @author Marek Hruska
 */
public interface CertificateService {

    /**
     * Find certificates.
     */
    public Collection<CertificateEntity> findCertificates();
    
    /**
     * Delete certificates.
     */
    public void delete(CertificateEntity certificateEntity);
    
    /**
     * Save certificate.
     */
    public void save(CertificateEntity certificateEntity);
    
    /**
     * Find certificate by id.
     * @param issuer 
     */
    public CertificateEntity findCertificateBySerialNumber(BigInteger id, String issuer);

	public List<BigInteger> findRevocateCertificates();

	public void deleteAllCertificates();

	public CertificateEntity findCertificateBySubjectIssuer(String issuer);

	
}
